﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Terrae.Clases;
using Terrae.GUI.Contrato;
using Terrae.Logica.Comandos;
using Terrae.Logica.FabricaLogica;
using Terrae.Clases.FabricaClase;

namespace Terrae.GUI.Presentador
{
    public class PresentadorHome
    {
        #region Atributos

        private IContratoHome _contrato;
        private Entidad _persona = FabricaEntidad.NuevaPersona();
        private Comando<Entidad> _comando;

        #endregion Atributos

        #region Constructor

        public PresentadorHome(IContratoHome contrato)
        {
            _contrato = contrato;
        }

        #endregion Constructor

        #region Método

        public void IniciarSesion()
        {
            (_persona as Persona).Usuario = _contrato.NombreUsuario.Text;
            (_persona as Persona).Contrasena = _contrato.Contrasena.Text;

            //Obtenemos el comando de iniciar sesión desde la fabrica lógica.
            _comando = FabricaComando.CrearComandoIniciarSesion(_persona);
            _persona = _comando.Ejecutar();

            if (_persona == null)
            {
                _contrato.Mensaje.Text = "Los datos no son correctos. Verifique";
                _contrato.Mensaje.Visible = true;
            }
            else
            {
                _contrato.Sesion["Usuario"] = _persona;
                _contrato.Redireccionar("HomeIniciado.aspx");
            }
        }

        #endregion Método
    }
}